package com.iwhalecloud.citybrain.flow.platform.manager.common;

/**
 * @author lilh
 * @date 2021/4/23 15:28
 */
public interface ConstanceVariable {

    /**
     * 发起人
     */
    String STARTER = "assigned_apply_initiator";

    String APPLY_USER_ID = "_applyUserId";

    String APPLY_USER_NAME = "_applyUserName";

    String APPLY_TIME_STAMP = "_applyTimeStamp";

    String MODEL_ID = "_modelId";

    String MODEL_KEY = "_modelKey";

    String MODEL_NAME = "_modelName";

    String APP_CODE = "_appCode";

    String APP_NAME = "_appName";

    String DEPLOYMENT_ID = "_deploymentId";

    String PROCESS_DEFINITION_ID = "_processDefinitionId";

    String PROCESS_INSTANCE_ID = "_processInstanceId";

    String STARTER_TYPE = "INIT";

    /**
     * 会签节点配置的完成条件
     */
    String COMPLETION_CONDITION = "completionCondition";

    /**
     * 一票否决类型
     */
    String ONE_VOTE_VETO_TYPE = "oneVoteVetoType";

    /**
     * 一票否决的人
     */
    String ONE_VOTE_VETO_PERSON = "oneVoteVetoPerson";

    /**
     * 手动添加流程变量的办理人类型
     */
    String CUSTOM_USER_TYPE = "VAR";

    /**
     * 抄送人配置
     */
    String CC = "copyTo";

    /**
     * 紧急程度
     */
    String URGENT_LEVEL = "urgentLevel";

    /**
     * 是否必填审批意见
     *
     * 节点处理是否必须表达意见
     */
    String IS_REQUIRED_COMMENT = "isRequiredComment";

    /**
     * 催办权限
     */
    String URGE_AUTH = "urgeAuth";

    /**
     * 撤销权限
     */
    String CANCEL_AUTH = "cancelAuth";

    /**
     * 表单编号
     */
    String FORM_ID = "formId";

    /**
     * 表单编码定义
     */
    String FORM_KEY_DEFINITION = "formkeydefinition";

    /**
     * 流程编码
     */
    String PROCESS_ID = "process_id";

    /**
     * 节点编码
     */
    String OVERRIDE_ID = "overrideid";

    /**
     * 表单字段
     */
    String FORM_FIELDS = "formFields";

    /**
     * 设置流程负责人用户编号
     */
    String OWNER_CODE = "ownerCode";

    /**
     * 虚拟实体标识
     */
    String VAR = "var";

    /**
     * 真实实体标识
     */
    String PRACTICAL = "practical";

    /**
     * 表单类型
     */
    String FORM_SOURCE = "formSource";


    /**
     * 外置表单展现形式
     */
    String EXTERNAL_FORM_SHOW_STYLE = "externalFormShowStyle";

    /**
     * 退回是否必填意见
     */
    String REQUIRED_ROLLBACK_COMMENT = "requiredRollbackComment";

    /**
     * 必须表达意见
     *
     * 强制表态
     */
    String MUST_EXPRESS = "mustExpress";

    /**
     * 对象结构
     */
    String OBJECT_META = "objectMeta";

    /**
     * 再次流经该节点，自动获取上次的候选人
     */
    String AUTO_GET_LAST_CANDIDATE = "autoGetLastCandidate";

    /**
     * 强制选人标识
     */
    String FORCE_PICK = "forcePick";

    /**
     * 节点的候选人是否选择了留空
     */
    String CANDIDATE_SET_NULL = "candidateSetNull";


    /**
     * 手动选择后续节点
     */
    String MANUAL_SELECT_NEXT_NODE = "manualSelectNextNode";

    /**
     * 任务计划完成时间
     */
    String TASK_PLAN_COMPTIME = "COMPTIME";

    /**
     * 业务模块编码
     */
    String BUSINESS_MODULE_CODE = "BUSINESS_MODULE_CODE";

    /**
     * 表单模块编码
     */
    String FORM_MODULE_CODE = "FORM_MODULE_CODE";

    /**
     * 是否需要再次进行后选人设置
     */
    String CLEAN_CANDIDATE_USER_SETTING = "isCleanCandidateUserSetting";

    /**
     * 节点是否默认选中后选人设置
     */
    String CHOOSE_CANDIDATE_USER_SETTING = "isChooseCandidateUser";

    /**
     * 是否配置检查点
     */
    String CHECK_POINT = "isConfigCheckPoint";

    /**
     * 审批意见
     */
    String COMMENT = "comment";

    /**
     * 节点是否是否忽略网关条件，返回后续所有强制选人节点
     */
    String IGNORE_GATEWAY = "isIgnoreGateway";
}